@echo off
chcp 65001 >nul
title 💰 预算管理系统 - 重启服务
color 0E

echo.
echo ╔════════════════════════════════════════════╗
echo ║                                            ║
echo ║     🔄 预算管理系统 - 重启服务            ║
echo ║                                            ║
echo ╚════════════════════════════════════════════╝
echo.
echo.

echo [1/5] 停止旧服务...
taskkill /F /IM node.exe >nul 2>&1
if %errorlevel% equ 0 (
    echo ✅ 已停止旧的服务
) else (
    echo ℹ️  无旧服务需要停止
)

echo.
echo [2/5] 等待端口释放...
timeout /t 3 >nul
echo ✅ 端口已释放

echo.
echo [3/5] 检查环境配置...
if not exist "backend\.env" (
    echo 🔧 创建数据库配置文件...
    (
        echo # 数据库配置
        echo DB_HOST=localhost
        echo DB_USER=root
        echo DB_PASSWORD=123456
        echo DB_NAME=budget_system
        echo DB_PORT=3306
        echo.
        echo # JWT配置
        echo JWT_SECRET=budget_system_secret_key_2025
        echo JWT_EXPIRES_IN=7d
    ) > backend\.env
    echo ✅ 配置文件已创建（默认密码：123456）
) else (
    echo ✅ 配置文件存在
)

echo.
echo [4/5] 启动后端服务...
echo.
echo 🚀 正在启动后端服务（端口 3000）...
start "💰预算系统-后端服务" cmd /k "cd /d "%~dp0backend" && npm start"

echo ⏳ 等待后端服务启动...
timeout /t 6 >nul
echo ✅ 后端服务已启动

echo.
echo [5/5] 打开前端页面...
timeout /t 2 >nul
start "" "%~dp0src\login.html"
echo ✅ 浏览器已打开

echo.
echo.
echo ╔════════════════════════════════════════════╗
echo ║                                            ║
echo ║     ✅ 重启完成！                         ║
echo ║                                            ║
echo ║  📋 使用说明：                            ║
echo ║  • 后端服务已重启（端口 3000）           ║
echo ║  • 前端页面已打开                        ║
echo ║  • 不要关闭后端窗口                      ║
echo ║  • 本窗口可以关闭                        ║
echo ║                                            ║
echo ╚════════════════════════════════════════════╝
echo.
echo.

timeout /t 5 >nul

